package com.appspot.didit.client.statistic;

import java.util.ArrayList;
import java.util.Date;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface StatisticServiceAsync {
	void getPersonalTimeWithoutProject(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<StatisticResult> callback);
	void getPersonalTimeWithProject(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<StatisticResult> callback);
	void getPersonalTimeByProject(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<StatisticResult> callback);
	void getPersonalTimeByWeekday(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<StatisticResult> callback);
	void getTeamTime(Date begin, Date end, Long tag_id, AsyncCallback<StatisticResult> callback);
	void getProjectProgress(Date begin, Date end, Long tag_id, AsyncCallback<StatisticResult> callback);
	void getExportToken1(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<String> callback);
	void getExportToken2(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<String> callback);
	void getExportToken3(Date begin, Date end, Long tag_id, AsyncCallback<String> callback);
	void getStundenzettel(Date begin, Date end, ArrayList<Long> tag_ids, Long user_id, AsyncCallback<String> callback);
	void getTeamTimeInDetail(Date begin, Date end, Long tag_id, AsyncCallback<StatisticResult> callback);
}
